home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 001a / ezzcomm.zip / PCBOARD.T < prev    next >
Text File  |  1991-02-16  |  15KB  |  312 lines

  1.  : EZ-ZCOMM Copyright 1991 by Roger E. Hough, All Rights Reserved.
  2.  : Licensed for use at your own risk without fee. Altered versions,
  3.  : when distributed, must be clearly marked as altered and accompanied
  4.  : by the originals.
  5.  :
  6.  : Entry in %ZCUSER.IDS for PCBoard: remote,password,first,last
  7.  :   remote:   argument of "call" command
  8.  :   password: signon password (required)
  9.  :   first:    first name. Optional: assumed equal to %n1
  10.  :   last:     last name.  Optional: assumed equal to %n2
  11.  :
  12.  : optional entry for conferences to read: remote/conf,i,j,k,...
  13.  :   where "i,j,k..." represents of list of conference NUMBERS
  14.  :
  15.  ena -K!Z pf30 p?0 findq "\n%remote," %lib/%ZCUSER.ids
  16.  if ? split z0 , , , "";if %z1 goto haveuser
  17.  pat;pat 24cp "rz\r**\030" "@rz -mp";while c pf600 wait -f600
  18.  ife r nolog close;return
  19. haveuser:
  20.  ife !%z2 sets z2 %n1;ife !%z3 sets z3 %n2
  21.  display dumb
  22.  pat;pat 0 "\rD'Bridge";pat 1 "FrontDoor ";pat 2 "BinkleyT";pat 3 "Press ENTER to load"
  23. inituser:
  24.  pat 4 "(Enter)=";pat 5 "[C/R]="
  25.  wait -F20;if n bye;ki;ife r nolog close;return
  26.  if 0||1 pat;ena -t put \E\E ena -!t goback inituser
  27.  if 2 pat;mput \E;goback inituser
  28.  if 3 pat;mput \r;goback inituser
  29.  ife r w;pat;set s7 "";set s8 ""
  30.  if "h(PCBoard)" sets s7 %y;sets s8 %yb;mput \b\b\b\b\bn\r
  31.  else if "h(ProLogon)" lput "n\r\n";display inhibit;mput "\b\b\b\b\bn %z2 %z3 %z1 s\r"
  32.  pat 0i \n;wait -F20;display noinhibit;ki;if n bye;ife r nolog close;return
  33.  display nodumb vt100 8bit
  34.  pat;pat 0c \n "@setc z8 \& set z9 0 pf50 ena -f50"
  35.  pat 1c ? "@set z9 1 pf1 ena -f1"
  36.  pat 2c "to continue" "@set z8 \r set z9 2 pf1 ena -f1"
  37.  pat 3c More "@set z8 \r pf1 ena -f1"
  38.  pat 4c Command "@setc z8 \&"
  39.  pat 5c "[C/R]=" "@set z8 n\r"
  40.  pat 6c "(Enter)=" "@set z8 n\r"
  41.  pat 7c "irst name" "@sets z8 %z2\r"
  42.  pat 8c "ast name" "@sets z8 %z3\r"
  43.  pat 9c "assword" "@sets z8 %z1\r"
  44.  pat 10c "orrect" "@sets z8 Y\r"
  45. inwait:
  46.  setc z8 \& set z9 0 pf50 wait -f50;if !c||iz9,0 bye;ife r nolog close;return
  47.  ife iz9,2 mput \r goback inwait;mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  48.  ife %z8 mput %z8 goback inwait;pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
  49.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1"
  50.  pat 3c "oodbye" "@set z7 1";mput "P 0\r" set z7 0
  51. plwait:
  52.  set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  53.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback plwait
  54.  if iz7,0 goto xmdone
  55.  pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
  56.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1"
  57.  pat 3c "ode ON" "@set z7 1";pat 4c "ODE ON" "@set z7 1"
  58.  pat 5c "ode On" "@set z7 1";pat 6c "mode is now on" "@set z7 1"
  59.  mput X\r
  60. xmwait:
  61.  set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  62.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback plwait
  63.  if iz7,0 mput X\r goback xmwait
  64. xmdone:
  65.  ife %s7 goto iddone;pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
  66.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@setc z8 1";mput I\r
  67. idwait:
  68.  set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  69.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,0 mput \r goback idwait
  70.  if "h(^PCBoard)" sets s7 %y sets s8 %yb
  71. iddone:
  72.  set s4 ZIP set s5 0 set s6 ALL p?0 findq "\n%remote/conf," %lib/%ZCUSER.ids
  73.  if "!js7,14.5" if "!js7,14.6" if "!js7,14.7" if "!js7,14.8" if "!js7,14.9" if "!js7,15." if "!js7,16." set s4 CAP
  74.  set z1 "" ife ? split z0 , , "";if !%z1 ife is4,ZIP goto razall;goto next
  75.  setc s5 \L%z1 setc s6 \L%z2;if is4,CAP goto next
  76. razconf:
  77.  ife %s5==1 sets s5 0%s5;ife f%n8/%remote%s5.* goto next;split s6 , ""
  78.  ife %z0 sets s6 %z1 sets s5 %z0 goback razconf;else goto last
  79. razall:
  80.  setn z0 s5/10 setn z1 z0*10 setn z1 s5-z1
  81. razaloop:
  82.  while az0<10&&!f%n8/%remote%z0?.* setn z0 z0+1 set z1 0
  83.  ife az0==10 goto last;while az1<10&&!f%n8/%remote%z0%z1.* setn z1 z1+1
  84.  ife az1==10 setn z0 z0+1 set z1 0 goback razaloop;sets s5 %z0%z1
  85. next:
  86.  set z7 0 pat;pat 0c \n "@set z8 0 set z9 0 pf30 ena -f30"
  87.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@set z8 1"
  88.  pat 3c "[C/R]=" "@if az8<2 set z8 2";pat 4c "(Enter)=" "@if az8<2 set z8 2"
  89.  pat 5c "Conference # to join" "@set z8 3"
  90.  pat 6c "nvalid " "@set z7 2"
  91.  if as5==0 mput A\r pat 7c "Main Board" "@set z7 1"
  92.  else mput "J %s5\r" pat 7c "Joined" "@set z7 1";pat 8c "Welcome to" "@set z7 1"
  93. jcwait:
  94.  set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  95.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;ife iz8,0 mput \r goback jcwait;if iz8,3 mput \r goback jcwait
  96.  ife iz8,2 mput n\r goback jcwait;ife iz7,2 goto last;if iz7,0 goto skip
  97.  pf30 if %s5==1 sets s5 0%s5
  98.  if f%n8/%remote%s5.* expand %lib/pcbmail.t %n8/%remote%s5.*
  99.  if !c bye;ife r nolog close;return
  100.  ife is4,CAP goto rscap;if !is6,ALL goto razcnxt
  101.  setn s5 s5+1 setn z0 s5/10 setn z1 z0*10 setn z1 s5-z1
  102. razcloop:
  103.  while az0<10&&!f%n8/%remote%z0?.* setn z0 z0+1 set z1 0
  104.  ife az0==10 goto last;while az1<10&&!f%n8/%remote%z0%z1.* setn z1 z1+1
  105.  ife az1==10 setn z0 z0+1 set z1 0 goback razcloop;sets s5 %z0%z1 goback next
  106. razcnxt:
  107.  split s6 , "";sets s6 %z1 sets s5 %z0 ife %s5==1 sets s5 0%s5 ife f%n8/%remote%s5.* goto next;else goback razcnxt
  108. rscap:
  109.  pat;mput "r s ns\r";pat 0i \n;pf30 wait -f30;if n bye;ife r nolog close;return
  110.  ife r nolog close;ki;create -+S %n9/%remote%s5.log
  111.  pat;pat 0c \n "@ki set z7 0 set z8 0 set z9 0 pf30 ena -f30"
  112.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2i "Date:" "@set z9 2"
  113.  pat 3c "Command" "@set z8 1";pat 4c "Mail" "@set z7 1"
  114.  pat 5c "Main Board" "@set z7 2";setn z9 s5+0
  115.  pat 6c "Conference" "@set z7 2";pat 7c "(%z9)" "@set z7 2"
  116.  pat 8c "[N]ext, [" "@set z6 1"
  117. rswait:
  118.  set z7 0 set z8 0 set z9 0 pf30 wait -f30
  119.  if !c||iz9,0 bye;ife r nolog close;return
  120.  if iz9,2 set z6 0 pat 0c \n "@ife iz6,0 w;set z6 0 set z7 0 set z8 0 set z9 0 pf30 ena -f30";pat 2c "";goback rswait
  121.  ki;ife r nolog close;create -+S %n9/ZC%d%ano.LOG
  122.  pat 0c \n "@set z7 0 set z8 0 set z9 0 pf30 ena -f30";pat 2c ""
  123.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  124.  ife iz8,0 mput \r;else ife iz7,2 goto skip;ife iz7,1 mput quit;mput \r
  125. rcwait:
  126.  set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  127.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  128.  ife iz8,0 mput \r goback rcwait;else ife iz7,2 goto skip;ife iz7,1 mput quit;mput \r
  129. skip:
  130.  ife is6,ALL setn s5 s5+1 goback next;split s6 , "";sets s5 %z0;sets s6 %z1;if %s5 goback next
  131. last:
  132.  pat;pat 0c \n "@set z7 0 set z8 0 set z9 0 pf30 ena -f30"
  133.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c "Command" "@set z8 1"
  134.  pat 3c "[C/R]=" "@set z8 2";pat 4c "(Enter)=" "@set z8 2";mput A\r
  135. rlwait:
  136.  set z7 0 set z8 0 set z9 0 pf30 wait -f30;if !c||iz9,0 bye;ife r nolog close;return
  137.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;ife iz8,0 mput \r goback rlwait;ife iz8,2 mput n\r goback rlwait
  138.  ife is4,CAP goto raznone;pat;pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
  139.  pat 1c ? "@set z9 1 pf1 ena -f1"
  140.  pat 2c "Command" "@set z8 1"
  141.  pat 3l "borts Transfer\r" "@set z9 2"
  142.  pat 4l " to Abort.\r" "@set z9 2"
  143.  pat 5l " to abort.\r" "@set z9 2"
  144.  pat 6c rotocol "@set z8 2"
  145.  pat 7c ")tart" "@set z8 3"
  146.  pat 11c "(Y)" "@if Jz6,c set z6 y"
  147.  pat 12c "(O)" "@if Jz6,cy set z6 o"
  148.  pat 13c "(Z)" "@set z6 z"
  149.  pat 14c Xmodem-CRC "@set z7 rc\040%z5"
  150.  pat 15c "CRC Xmodem" "@set z7 rc\040%z5"
  151.  pat 16c Ymodem "@set z7 rc\040%z5"
  152.  pat 17c 1K-Xmodem "@set z7 rc\040%z5"
  153.  pat 19c Zmodem "@setc z7 \&"
  154.  pat 20i "rz\r**\030" "@set z7 rz\040-ym\040%z5;set z9 2"
  155.  sets z5 %tmp/%remote.zip;ife f%z5 del %z5;mput "R A Z\r"
  156. razwait:
  157.  set z6 c set z7 rc set z8 0 set z9 0 pf40 wait -f40
  158.  if !c||iz9,0 bye;ife r nolog close;return
  159.  if iz9,2 ife %z7 goto razdl;goback razwait
  160.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b;if iz8,1 goto razdone
  161.  if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,cyoz" mput %s0;mput \r goback razwait
  162.  ife iz8,3 mput s\r goback razwait;mput \r goback razwait
  163. razdl:
  164.  sets s2 %plog;if %plog setc plog "%n9/%remote\&xf.log"
  165.  sets s1 %dirrx;sets dirrx "";obey %z7
  166.  sets dirrx %s1;sets plog %s2;goback razwait
  167. razdone:
  168.  if f%z5 obey "!~PKUNZIP -c %z5 *.cap |PCB2LOG %n9/%remote"
  169.  if f%z5 del %z5
  170. raznone:
  171. ulcheck:
  172.  if !f%n8/%remote.ul goto ulnone
  173.  : Upload files listed in <bbs>.ul as follows: filename.ext,description1;description2;description3
  174.  : description2 and description3 are optional
  175.  : description lines are from 12 to 45 characters in length.
  176.  display inhibit;open -!g %n8/%remote.ul;display noinhibit;ife t goto ulrdln;goto uldone
  177. ulrdnv:
  178.  echoc "Invalid upload entry!";echoc \T%s1
  179. ulrdln:
  180.  setc z9 \032 grab s1 ife !t goto uldone;if Is1,z9 closetx goto uldone
  181.  split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goback ulrdnv;if "!f%dirsx/%z0" goback ulrdnv
  182.  split z1 ";" "";ife "%z0<12" goback ulrdnv;while "%z0&&%z0<46" split z1 ";" ""
  183.  ife %z0 goback ulrdnv;pat;set s2 "" set s3 "" set s4 "" set s5 0 mput U\r
  184.  pat 0c \n "@set z8 0 set z9 0 pf50 ena -f50"
  185.  pat 1c ? "@set z9 1 pf1 ena -f1"
  186.  pat 2c "Command" "@set z8 1"
  187.  pat 3l "borts Transfer\r" "@set z9 2"
  188.  pat 4l " to Abort.\r" "@set z9 2"
  189.  pat 5l " to abort.\r" "@set z9 2"
  190.  pat 6c rotocol "@set z8 2"
  191.  pat 7c ")tart" "@set z8 3"
  192.  pat 8c "ilespec" "@set z8 4 set z9 1 pf1 ena -f1"
  193.  pat 9c "ilename" "@set z8 4 set z9 1 pf1 ena -f1"
  194.  pat 10c "(K)" "@if iz6,c set z6 k"
  195.  pat 11c "(Y)" "@if Jz6,ck set z6 y"
  196.  pat 12c "(O)" "@if Jz6,cky set z6 o"
  197.  pat 13c "(Z)" "@set z6 z"
  198.  pat 14c Xmodem-CRC "@set z7 sx"
  199.  pat 15c "CRC Xmodem" "@set z7 sx"
  200.  pat 16c Ymodem "@set z7 sx\040-k"
  201.  pat 17c 1K-Xmodem "@set z7 sx\040-k"
  202.  pat 18c Kermit "@set z7 send"
  203.  pat 19c Zmodem "@set z7 sz\040-km"
  204. ulwait:
  205.  set z6 c set z7 sx set z8 0 set z9 0 pf50 wait -f50
  206.  if !c||iz9,0 bye;ife r nolog close;return
  207.  if iz9,2 ife !0 goback ulwait;ife !%s4 sets s4 %s2 set s2 "";obey "%z7 \T%s4";goback ulwait
  208.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  209.  if iz8,1 ife !t goto uldone;set s2 "" set s3 "" set s4 "" set s5 0 mput u\r goback ulwait
  210.  if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,ckyoz" mput %s0;mput \r goback ulwait
  211.  ife iz8,3 mput s\r goback ulwait;if iz8,4 goto ulfnmput
  212.  if %s2 set? z0 f%dirsx/%s2 sets s4 "%s4 %s2" set s2 "" setn s5 s5+z0
  213.  split s3 ";" "";sets s3 %z1 mput \T%z0 mput \r goback ulwait
  214. ulfnmput:
  215.  ife "!t||%s4>100" set s2 "" mput \r goback ulwait;split s1 ", " ""
  216.  if %s4 set? z2 f%dirsx/%z0 setn z2 z2+s5 if "az2>768" set s2 "" mput \r goback ulwait
  217.  sets s2 %z0 sets s3 %z1 mput \T%z0 mput \r
  218. ulfnrdnx:
  219.  setc z9 \032 grab s1 ife !t goback ulwait;if Is1,z9 nolog closetx goback ulwait
  220.  split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goto ulfnrdnv;if "!f%dirsx/%z0" goto ulfnrdnv
  221.  split z1 ";" "";ife "%z0<12" goto ulfnrdnv;while "%z0&&%z0<46" split z1 ";" ""
  222.  if !%z0 goback ulwait
  223. ulfnrdnv:
  224.  echoc "Invalid upload entry!";echoc \T%s1;goback ulfnrdnx
  225. uldone:
  226.  del %n8/%remote.ul
  227. ulnone:
  228.  gosub .%lib/agelist.t;if as0<14 goto lfnone
  229.  pat;mput l\r
  230.  pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
  231.  pat 1c ? "@set z9 1 pf1 ena -f1"
  232.  pat 2c "Command" "@set z8 1"
  233.  pat 3c "iles" "@set z8 2"
  234.  pat 4c "irector" "@set z8 2"
  235.  pat 5c "search" "@set z8 3"
  236.  pat 6c "Search" "@set z8 3"
  237.  pat 7c "ildcard" "@set z8 3"
  238.  pat 8l Scanning "@set z9 2"
  239.  pat 9l Ctrl "@set z9 2"
  240.  pat 10l CTRL "@set z9 2"
  241. lfwait:
  242.  set z8 0 set z9 0 pf40 wait -f40;if !c||iz9,0 bye;ife r nolog close;return
  243.  ife iz9,2 goto lflist;mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  244.  if iz8,0 mput \r goback lfwait;ife iz8,1 goto lfnone
  245.  ife iz8,2 mput a\r goback lfwait;mput "*.*\r" goback lfwait
  246. lflist:
  247.  ki;create -y %n7/%remote.lst
  248.  if r split t " ";echof "\T%telno %s8";echof "\T%s7 %z1"
  249.  pat;pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
  250.  pat 1c ? "@set z9 1 pf1 ena -f1";pat 2c Command "@set z8 1"
  251. ldwait:
  252.  set z8 0 set z9 0 pf40 wait -f40;if !c||iz9,0 bye;ife r nolog close;return
  253.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b if iz8,0 mput \r goback ldwait
  254.  if r closerx obey "!~NLTRIM %n7/%remote.lst"
  255. lfnone:
  256.  ki;create -+ %n9/ZC%d%ano.LOG
  257.  if !f%n8/%remote.dl goto dlnone
  258.  : download files listed in <bbs>.dl as follows: filename.ext
  259.  display inhibit;open -!g %n8/%remote.dl;display noinhibit;ife t goto dlrdln;goto dldone
  260. dlrdnv:
  261.  echoc "Invalid download entry!";echoc \T%s1
  262. dlrdln:
  263.  setc z9 \032 grab s1 ife !t goto dldone;if Is1,z9 closetx goto dldone
  264.  split s1 ", " "";ife "%z0<3||%z0>12||Jz0,*?()%" goback dlrdnv;if "f%dirrx%z0" goback dlrdnv
  265.  pat;set s2 "" mput D\r
  266.  pat 0c \n "@set z8 0 set z9 0 pf40 ena -f40"
  267.  pat 1c ? "@set z9 1 pf1 ena -f1"
  268.  pat 2c "Command" "@set z8 1"
  269.  pat 3l "borts Transfer\r" "@set z9 2"
  270.  pat 4l " to Abort.\r" "@set z9 2"
  271.  pat 5l " to abort.\r" "@set z9 2"
  272.  pat 6c rotocol "@set z8 2"
  273.  pat 7c ")tart" "@set z8 3"
  274.  pat 8c "ilespec" "@set z8 4 set z9 1 pf1 ena -f1"
  275.  pat 9c "ilename" "@set z8 4 set z9 1 pf1 ena -f1"
  276.  pat 10c "(K)" "@if iz6,c set z6 k"
  277.  pat 11c "(Y)" "@if Jz6,ck set z6 y"
  278.  pat 12c "(O)" "@if Jz6,cky set z6 o"
  279.  pat 13c "(Z)" "@set z6 z"
  280.  pat 14c Xmodem-CRC "@set z7 rc\040%s2"
  281.  pat 15c "CRC Xmodem" "@set z7 rc\040%s2"
  282.  pat 16c Ymodem "@set z7 rc\040%s2"
  283.  pat 17c 1K-Xmodem "@set z7 rc\040%s2"
  284.  pat 18c Kermit "@set z7 \040"
  285.  pat 19c Zmodem "@set z7 \040"
  286.  pat 20c "rz\r**\030" "@rz -mp"
  287. dlwait:
  288.  set z6 c set z7 rc set z8 0 set z9 0 pf40 wait -f40
  289.  if !c||iz9,0 bye;ife r nolog close;return
  290.  if iz9,2 ife 0 obey %z7;goback dlwait
  291.  mput \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b
  292.  if iz8,1 ife !t goto dldone;set s2 "" mput d\r goback dlwait
  293.  if iz8,2 sets s0 %z6 split y1 = ? "";setc z1 \L%z1 ife "%z1!=1||!Jz1,ckyoz" mput %s0;mput \r goback dlwait
  294.  ife iz8,3 mput s\r goback dlwait;if iz8,0 mput \r goback dlwait
  295.  if !t set s2 "" mput \r goback dlwait
  296.  split s1 ", " "";sets s2 %z0 mput \T%z0 mput \r
  297. dlfnrdnx:
  298.  setc z9 \032 grab s1 ife !t goback dlwait;if Is1,z9 nolog closetx goback dlwait
  299.  split s1 ", " "";if "%z0>2&&%z0<13" if "!Jz0,*?()%" if "!f%dirrx%z0" goback dlwait
  300. dlfnrdnv:
  301.  echoc "Invalid download entry!";echoc \T%s1;goback dlfnrdnx
  302. dldone:
  303.  del %n8/%remote.dl
  304. dlnone:
  305.  if f%lib/%remote.t gosub .%lib/%remote.t
  306.  if !c bye;ife r nolog close;return
  307.  pat;lput "\r\n%n1, press alt-N if you want to run the session manually.\r\n"
  308.  pat;pat 24cp "rz\r**\030" "@rz -mp";wait -F5;if !c bye;ife r nolog close;return
  309.  pat 0c "Press (Enter) to continue?" \r
  310.  pat 1c "Proceed with logoff?" Y\r
  311.  mput "\b\b\b\bg\r";wait -F35;ife c bye;ife r nolog close;return
  312.